﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SharpShare.Activation {
    public interface IExtension {
        string Name { get; set; }
    }
    public interface IExtensionFactory<T> where T : IExtension {
        IEnumerable<ExtensionDescriptor<T>> GetDescriptors();

        IEnumerable<T> ListExtensions();

        void AddExtension(T extension);

        void RemoveExtension(T extension);

        bool ContainsExtension(T extension);
    }
}
